home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / pluginy Firefox / 8352 / 8352.xpi / chrome / greasefire.jar / content / test / test_service.js < prev    next >
Text File  |  2009-01-06  |  1KB  |  60 lines

  1. /*
  2.  * Copyright (C) 2008 by Steve Krulewitz <skrulx@gmail.com>
  3.  * Licensed under GPLv2 or later, see file LICENSE in the xpi for details.
  4.  */
  5. const Cc = Components.classes;
  6. const Ci = Components.interfaces;
  7. const Cr = Components.results;
  8.  
  9. function runTest() {
  10.  
  11.   var urls = [
  12. /*
  13.     "http://reddit.com/",
  14.     "http://slashdot.org/",
  15.     "http://nytimes.com/",
  16.     "http://www.cnn.com/blah",
  17.     "http://google.com",
  18.     "http://www.google.com",
  19.     "http://myspace.com",
  20.     "http://facebook.com"
  21. */
  22.     "http://www.mozilla.org"
  23.   ];
  24.  
  25.   var gfs = Cc["@skrul.com/greasefire/service;1"]
  26.               .getService(Ci.gfIGreasefireService);
  27.  
  28.   for (var i = 0; i < urls.length; i++) {
  29.  
  30.     var uri = newURI(urls[i]);
  31.  
  32.     var t = Date.now();
  33.     var hasScripts = gfs.hasScripts(uri);
  34.     var d = Date.now() - t;
  35.  
  36.     log("--> " + urls[i] + " hasScripts " + d + "ms");
  37.  
  38.     t = Date.now();
  39.     var results = gfs.search(uri);
  40.     d = Date.now() - t;
  41.  
  42.     log("--> " + urls[i] + " matches " + results.length + " " + d + "ms");
  43.  
  44.     for (var j = 0; j < results.length; j++) {
  45.       var r = results.queryElementAt(j, Ci.gfISearchResult);
  46.       log("-------> " + r.scriptId + " " + r.match + " " + r.rank);
  47.     }
  48.  
  49.   }
  50.  
  51.   return true;
  52. }
  53.  
  54. function newURI(spec) {
  55.   var ioService = Cc["@mozilla.org/network/io-service;1"].
  56.                   getService(Ci.nsIIOService);
  57.  
  58.   return ioService.newURI(spec, null, null);
  59. }
  60.